import NProgress from 'nprogress';
import 'nprogress/nprogress.css';
import type { Router } from 'vue-router';

export function setupRouterGuards(router: Router) {
  // 导航守卫 - 前置守卫
  router.beforeEach((to, from, next) => {
    NProgress.start(); // 开始进度条
    console.log('进入前置守卫');
    next();
  });

  // 导航守卫 - 解析守卫
  router.beforeResolve((to, from, next) => {
    // 可以在这里进行数据预加载等操作
    console.log('进入解析守卫');
    next();
  });

  // 导航守卫 - 后置守卫
  router.afterEach((to, from, failure) => {
    console.log('进入后置守卫');
    if (failure) {
      console.error('导航失败:', failure);
    }
    NProgress.done(); // 结束进度条
  });
}